package com.me.shop.cart.bean;

import java.io.Serializable;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;

import org.apache.struts2.ServletActionContext;



public class Cart implements Serializable {
	private Map<Integer, CartItem> map = new LinkedHashMap<Integer, CartItem>();
	
	private double total = 0;
	public double getTotal() {
		return total;
	}

	// Cart对象中有一个叫cartItems属性.
	public Collection<CartItem> getCartItems() {
		return map.values();
	} 
	
	// 1.将购物项添加到购物车
	public void addCart(CartItem cartItem) {
		Integer pid = cartItem.getProduct().getPid();
		if(map.containsKey(pid)) {
			CartItem _cartItem = map.get(pid);
			_cartItem.setCount(_cartItem.getCount() + cartItem.getCount());
		} else {
			map.put(pid, cartItem);
		}
		total += cartItem.getSubtotal();
	}
	
	
	// 2.从购物车移除购物项
	public void removeCart(Integer pid) {
		CartItem cartItem = map.remove(pid);
		total = total - cartItem.getSubtotal();
	}
	
	// 3.清空购物车
	public void clearCart() {
		map.clear();
		total = 0;
	}
	
	
	
}





















